package com.xique.door.service;


import com.xique.door.bean.response.IotApiResponse;

/**
 * @author shd
 * @create 2021/10/9 16:28
 */
public interface IIotApiService {

    /**
     * 获取MD5
     * @author shd
     * @date 2021/10/9 16:35
     * @return java.lang.Object
     */
    IotApiResponse getMd5Token();

    /**
     * 获取access_token
     * @author shd
     * @date 2021/10/9 16:36
     * @param token
     * @return java.lang.Object
     */
    IotApiResponse getAccessToken(String token);

    /**
     * 获取session _token
     * @author shd
     * @date 2021/10/9 16:36
     * @param accessToken 
     * @return java.lang.Object
     */
    IotApiResponse getSessionToken(String accessToken);

    /**
     * 获取企业电梯信息
     * @author shd
     * @date 2021/10/9 16:39
     * @return java.lang.Object
     */
    IotApiResponse getElvByCompany();

    /**
     * 电梯基础信息查询
     * @author shd
     * @date 2021/10/9 16:39
     * @param imei 
     * @return java.lang.Object
     */
    IotApiResponse getElvInfo(String imei);

    /**
     * 电梯运行统计查询
     * @author shd
     * @date 2021/10/9 16:40
     * @param imei 
     * @return java.lang.Object
     */
    IotApiResponse getElvReport(String imei);

    /**
     * 15日内运行集合
     * @author shd
     * @date 2021/10/9 16:41
     * @param imei
     * @param recordDate
     * @param pageNumber
     * @param pageSize 
     * @return java.lang.Object
     */
    IotApiResponse getRunTime(String imei, String recordDate, Integer pageNumber, Integer pageSize);

    /**
     * 15日内故障集合
     * @author shd
     * @date 2021/10/9 16:42
     * @param imei
     * @param recordDate
     * @param pageNumber
     * @param pageSize 
     * @return java.lang.Object
     */
    IotApiResponse getFault(String imei, String recordDate, Integer pageNumber, Integer pageSize);
    
    /**
     * 15日内事件集合
     * @author shd
     * @date 2021/10/9 16:42
     * @param imei
     * @param recordDate
     * @param pageNumber
     * @param pageSize 
     * @return java.lang.Object
     */
    IotApiResponse getEvent(String imei, String recordDate, Integer pageNumber, Integer pageSize);

    /**
     * 历史运行集合
     * @author shd
     * @date 2021/10/9 16:43
     * @param imei
     * @param startDate
     * @param endDate
     * @param pageNumber
     * @param pageSize 
     * @return java.lang.Object
     */
    IotApiResponse getHisRuntime(String imei, String startDate, String endDate, Integer pageNumber, Integer pageSize);

    /**
     * 历史故障集合
     * @author shd
     * @date 2021/10/9 16:43
     * @param imei
     * @param startDate
     * @param endDate
     * @param pageNumber
     * @param pageSize
     * @return java.lang.Object
     */
    IotApiResponse getHisFault(String imei, String startDate, String endDate, Integer pageNumber, Integer pageSize);

    /**
     * 历史事件集合
     * @author shd
     * @date 2021/10/9 16:43
     * @param imei
     * @param startDate
     * @param endDate
     * @param pageNumber
     * @param pageSize
     * @return java.lang.Object
     */
    IotApiResponse getHisEvent(String imei, String startDate, String endDate, Integer pageNumber, Integer pageSize);

    /**
     * 故障情况查询
     * @author shd
     * @date 2021/10/9 16:45
     * @param imei
     * @param startDate
     * @param endDate 
     * @return java.lang.Object
     */
    IotApiResponse getFaultList(String imei, String startDate, String endDate);

    /**
     * 获取电梯参数
     * @author shd
     * @date 2021/10/9 16:45
     * @param imei 
     * @return java.lang.Object
     */
    IotApiResponse getElevatorParameter(String imei);

    /**
     * 获取电梯实时运行数据
     * @author shd
     * @date 2021/10/9 16:45
     * @param imei 
     * @return java.lang.Object
     */
    IotApiResponse getDeviceRunInfo(String imei);

    /**
     * 设置实时故障推送
     * @author shd
     * @date 2021/10/9 16:46
     * @param notifyUrl
     * @return java.lang.Object
     */
    IotApiResponse setWarningPost(String notifyUrl);
}
